<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="utf-8"/>
	<meta name="baidu-site-verification" content="JdMif0g2tL" />
	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
	<title>angular</title>
</head>
<body ng-app="myApp">
<style type="text/css" media="screen">
	*{
		margin: 0;
		padding: 0;
	}
	span{
		color: red;
		font-size:14px; 
	}
</style>

<p>{{time}}</p>
<p>{{a}}</p>
<p>{{msg}}</p>
<p>{{b}}</p>
<script type="text/javascript">
	document.getElementsByTagName('html')[0].style.fontSize=window.screen.width/10+'px';
</script>
<script src="../js/angular.min.js" charset="utf-8"></script>
<script type="text/javascript">
	var app =angular.module('myApp', []);
	//run方法中我们只能使用根作用域
	app.run(function ($rootScope,$timeout) {
		//作用于丢失，所以我们看不到效果，解决问题有四中方式
		
		//方法一$timeout服务,推荐使用$timeout
		// $timeout(function(){
		// 	$rootScope.time='1秒后，你好';
		// },5000);
		
		//方法二，执行该方法会检测作用域
		// setTimeout(function(){
		// 	$rootScope.time='1秒后，你好';
		// 	//执行$digest进行检测，但是尽量不要用
		// 	$rootScope.$digest();
		// 	//$digest后面的不能检测到
		// 	$rootScope.msg='digest能检测到不？';
		// },1000);

		//方法三，执行后检查作用域，根$digest()很像，是对其的封装
		// setTimeout(function(){
		// 	$rootScope.time='1秒后，你好';
		// 	$rootScope.$apply();
		// 	$rootScope.msg='digest能检测到不？';
		// },1000);

		//方法四，此时回到函数中可以对函数内的变量检测，也可以对函数前面的数据做检测，但是不能后面的数据作检测，所以我们使用的时候一定要定义在apply前面
		setTimeout(function(){
			$rootScope.a='aaaa';
			$rootScope.$apply(function(){
				$rootScope.time='time';
				$rootScope.msg='msg';
			})
			$rootScope.b='bbbb';
		},1000);
	})
</script>
</body>
</html>
<!--应该是14.11，时间-2017-05-08->